package com.zzg.author.service;

import com.github.pagehelper.PageInfo;
import com.zzg.author.condition.RoleCondition;
import com.zzg.author.model.domain.SysRole;
import com.zzg.base.response.BaseResponse;
import com.zzg.base.service.BaseService;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * zzg
 **/
public interface SysRoleService extends BaseService<SysRole>{
    /***
     * 根据用户id查询角色列表
     * @param userId
     * @return
     */
    List<SysRole> listRolesByUserId(Integer userId);

    /***
     * 分页查询，使用分页插件
     * @param vo
     * @return
     */
    PageInfo<SysRole> findPageBreakByCondition(RoleCondition vo);

    /**
     * 根据用户id查询角色集合
     * @param userId
     * @return set
     */
    Set<String> findRoleByUserId(Integer userId);

    BaseResponse addAssignResourceById(String roleId,List<String> resourceIds);

    /***
     * 根据用户id获取角色及选中的角色
     * @param userId
     * @return
     */
    List<Map<String, Object>> RoleListWithSelected(Integer userId);
}
